Saltar al contenido principal

Envío de mensajes a Microsoft Teams con Node-RED

Este tutorial le muestra cómo enviar notificaciones de inspección desde su cámara OV20i directamente a un canal de Microsoft Teams. Aprenderá a configurar alertas automáticas que incluyan los resultados de inspección y enlaces de imágenes clicables, manteniendo a su equipo informado de inmediato sobre el estado de la producción.

Lo que construirá: Un sistema automatizado que publique los resultados de inspección de OV20i, incluidas imágenes y el estado Aprobado/Rechazado, directamente en un canal de Microsoft Teams.

Aplicación en la vida real: Reciba notificaciones instantáneas cuando las inspecciones fallen, comparta imágenes de inspección con equipos remotos, o crea informes de calidad automatizados en su espacio de colaboración de equipo.

Prerrequisitos

  • Cámara OV20i conectada a la red de su planta
  • Acceso a Microsoft Teams con permiso para agregar conectores
  • Canal de Teams donde desea recibir las notificaciones
  • Conectividad de red entre OV20i y Microsoft Teams
  • Conocimiento básico de flujos de Node-RED

Descripción general del tutorial

Lo que construiremos: Un flujo de Node-RED que envía automáticamente los resultados de inspección a Microsoft Teams con enlaces de imágenes clicables.

Tiempo estimado: 15-20 minutos

Habilidades adquiridas: Integración de webhook de Teams, solicitudes HTTP de Node-RED, sistemas de notificaciones automatizadas

Paso 1: Configurar Webhook de Microsoft Teams

1.1 Acceda a su canal de Teams

  1. Abra Microsoft Teams y navegue hasta el canal de notificaciones de inspección
  2. Haga clic en los tres puntos (•••) junto al nombre del canal
  3. Seleccione "Administrar canal" del menú desplegable

1.2 Agregar conector de Webhook entrante

  1. Haga clic en "Conectores" en el menú de administración del canal
  2. Busque "Incoming Webhook" en la lista de conectores
  3. Haga clic en "Agregar" junto a la opción Incoming Webhook

1.3 Configurar ajustes del Webhook

  1. Nombre: Ingrese un nombre descriptivo (p. ej., "Alerta de inspección OV20i")
  2. Icono: Opcionalmente cargue un icono personalizado para sus notificaciones
  3. Haga clic en "Crear" para generar el webhook

1.4 Guardar URL del Webhook

  1. Copie la URL del webhook generado; esto es crucial para la configuración de Node-RED
  2. Guarde la URL en un lugar seguro (la necesitará en el Paso 2)
  3. Haga clic en "Listo" para completar la configuración de Teams

Punto de control: Ahora debería tener una URL de webhook que se vea así: https://yourcompany.webhook.office.com/webhookb2/...

Paso 2: Acceder a Node-RED de OV20i

2.1 Abrir Node-RED

  1. Abra la interfaz web de OV20i
  2. Vaya a Editor de Recetas y haga clic en Configurar I/O o seleccione "IO Block" desde el menú de migas de pan

2.2 Preparar su área de trabajo

  1. Limpiar una área en el lienzo de Node-RED para su flujo de integración con Teams
  2. Identificar la paleta en el lado izquierdo con nodos disponibles
  3. Planificar su flujo: Disparador → Proceso → Enviar a Teams

Paso 3: Construir el flujo de Node-RED

3.1 Agregar nodos requeridos

Arrastre estos nodos desde la paleta a su lienzo:

  1. Inject node (para pruebas)
  2. Function node (para formatear el mensaje)
  3. HTTP request node (para enviar a Teams)
  4. Debug node (opcional, para solución de problemas)

3.2 Conectar los nodos

  1. Conecte la salida de Inject a la entrada de Function
  2. Conecte la salida de Function a la entrada de HTTP request
  3. Conecte la salida de HTTP request a la entrada de debug (opcional)

Flujo estructurado:

Inject → Function → HTTP Request → Debug

Paso 4: Configurar el Nodo de Función

4.1 Configuración Básica del Mensaje

  1. Haz doble clic en el nodo de función para abrir la configuración
  2. Reemplace el código predeterminado con este formato de mensaje básico:
// Basic Teams message
msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: "You got a new message from your OV20i"
};

return msg;

4.2 Mensaje Avanzado con Enlaces de Imagen

Para resultados de inspección dinámicos con imágenes clicables:

// Dynamic message with inspection image
let imageUrl = msg.payload.image_url;

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `Inspection Complete - [View Image](${imageUrl})`
};

return msg;

4.3 Notificación de Inspección Completa

Para detalles completos de la inspección:

// Complete inspection notification
const inspectionData = msg.payload;
const imageUrl = inspectionData.image_url;
const result = inspectionData.result ? "PASS" : "FAIL";
const timestamp = new Date().toLocaleString();

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `🔍 **Inspection ${result}** - ${timestamp}\n\n[View Image](${imageUrl})`
};

return msg;

4.4 Guardar la Configuración de la Función

  1. Haz clic en "Done" para guardar el nodo de función
  2. Asigne un nombre descriptivo al nodo, por ejemplo "Format Teams Message"

Paso 5: Configurar el Nodo de Solicitud HTTP

5.1 Configurar la Solicitud HTTP

  1. Haz doble clic en el nodo de solicitud HTTP para configurarlo
  2. Configurar Método: Seleccione "POST" desde el menú desplegable
  3. Configurar URL: Pegue su URL de webhook de Teams desde el Paso 1.4
  4. Configurar Retorno: Seleccione "UTF-8 string"

5.2 Configuraciones Adicionales

  • Nombre: Ingrese "Send to Teams" para mayor claridad
  • Encabezados: Deje vacío (manejado por el nodo de función)
  • Payload: Deje en "Ignore" (manejado por el nodo de función)

5.3 Guardar la Configuración HTTP

  1. Haga clic en "Done" para guardar el nodo de solicitud HTTP
  2. Verifique la URL de webhook para confirmar que es correcta - esto es crucial para el éxito

Paso 6: Probar la Integración

6.1 Desplegar el Flujo

  1. Haga clic en el botón "Deploy" en la esquina superior derecha
  2. Espere la confirmación "Successfully deployed"
  3. Verifique si hay indicadores de error en los nodos (triángulos rojos)

6.2 Probar con el Nodo Inject

  1. Haga clic en el botón en el lado izquierdo del nodo inject
  2. Verifique el panel de depuración (barra lateral derecha) para mensajes de error
  3. Verifique que el mensaje aparezca en su canal de Teams

6.3 Verificar la Notificación de Teams

  1. Cambie a Microsoft Teams y verifique su canal de destino
  2. Busque el mensaje de prueba de su OV20i
  3. Pruebe cualquier enlace clicable para garantizar que funcionen correctamente

Paso 7: Integración con el Flujo de Inspección

7.1 Conectar con Resultados de Inspección

Para enviar notificaciones automáticas después de cada inspección:

  1. Encuentre su flujo de inspección principal (normalmente empieza con "All Block Outputs")
  2. Agregue su notificación de Teams como una rama desde el flujo principal
  3. Conecte después del procesamiento de la inspección pero antes de los resultados finales

7.2 Flujo de Integración de Ejemplo

All Block Outputs → [Inspection Logic] → Final Pass/Fail

Format Teams Message → Send to Teams

7.3 Filtrado de Notificaciones (Opcional)

Para enviar notificaciones únicamente para inspecciones fallidas:

// Only send notifications for failures
const inspectionResult = msg.payload.result;

if (!inspectionResult) { // Only if inspection failed
const imageUrl = msg.payload.image_url;

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `⚠️ **INSPECTION FAILED** - Immediate attention required\n\n[View Failed Image](${imageUrl})`
};

return msg;
} else {
return null; // Don't send message for passing inspections
}

Paso 8: Solución de Problemas

8.1 Problemas Comunes

ProblemaSíntomasSolución
Sin mensaje en TeamsLa depuración muestra éxito pero no hay notificación de TeamsVerifique la URL del webhook y la conectividad de la red
Error HTTP 400Error de solicitud en la depuraciónVerifique el formato del mensaje, asegúrese del encabezado Content-Type
Enlaces de imágenes no funcionanEl mensaje aparece pero las imágenes no se abrenVerifique que la URL de la imagen sea accesible desde la red de los usuarios de Teams
El flujo no se activaNo hay salida de depuración cuando se esperaVerifique las conexiones del flujo, verifique las condiciones de disparo

8.2 Depure su Flujo

  1. Agregar nodos de depuración después de cada paso para rastrear el flujo de datos
  2. Verifique el panel de depuración para mensajes de error y la estructura de datos
  3. Pruebe con un nodo de inyección para aislar problemas de configuración
  4. Verifique la URL del webhook realizando pruebas con herramientas externas si es necesario

8.3 Conectividad de Red

  1. Asegúrese de que OV20i pueda acceder a Internet (prueba de ping desde la cámara)
  2. Verifique la configuración del firewall que podría bloquear HTTPS saliente
  3. Verifique la resolución DNS para las URL de webhook de Teams
  4. Pruebe desde un navegador en la misma red que la cámara

¡Éxito! La integración con Teams está completa

Ahora su cámara OV20i puede:

Enviar notificaciones automáticas a canales de Microsoft Teams

Incluir enlaces de imágenes clicables para revisión inmediata de la inspección

Filtrar notificaciones en función de los resultados de la inspección

Proporcionar formato enriquecido con detalles de la inspección y las marcas de tiempo

Soportar múltiples canales para diferentes tipos de notificaciones

Mejores Prácticas

Gestión de Mensajes

  • Usar nombres de canal descriptivos para diferentes tipos de notificaciones
  • Incluir marcas de tiempo e identificadores de estación en los mensajes
  • Filtrar mensajes para evitar la sobrecarga de notificaciones
  • Probar a fondo antes de la implementación en producción

Consideraciones de Seguridad

  • Proteger las URL de webhook; trátelas como credenciales sensibles
  • Usar HTTPS para todas las comunicaciones (por defecto con Teams)
  • Limitar el acceso de red a solo los servicios necesarios
  • Rotar regularmente las URL de webhook si se ven comprometidas

Optimización del Rendimiento

  • Notificaciones por lotes si se envían muchos mensajes
  • Utilizar lógica de reintento adecuada ante fallas de red
  • Monitorear las tasas de entrega de mensajes
  • Implementar limitación de velocidad para evitar los límites de la API de Teams

image.png

Siguientes Pasos

Después de configurar la integración con Teams:

  1. Crear diferentes canales de notificación para varios tipos de inspección
  2. Configurar flujos de escalamiento para fallas críticas
  3. Integrar con otras herramientas del equipo (correo electrónico, SMS, etc.)
  4. Construir paneles que combinen Teams con otras herramientas de monitoreo
  5. Capacitar a su equipo para responder a notificaciones automatizadas

🔗 Ver También